package com.jingdianjichi.subject.domain.service;

import com.jingdianjichi.subject.common.entity.PageResult;
import com.jingdianjichi.subject.domain.entity.SubjectInfoBO;
import com.jingdianjichi.subject.infra.basic.ES.自定义ES_鸡翅.entity.SubjectInfoES;

import java.util.List;


/**
 * 题目领域服务
 */
public interface SubjectInfoDomainService {

    /**
     * 新增题目
     */
    void add(SubjectInfoBO subjectInfoBO);


    /**
     * 题目分页查询
     */
    PageResult<SubjectInfoBO> getSubjectPage(SubjectInfoBO subjectInfoBO);

    /**
     * 查询题目详情
     */
    SubjectInfoBO querySubjectInfo(SubjectInfoBO subjectInfoBO);

    /**
     * 全文检索高亮返回
     */
    PageResult<SubjectInfoES> getSubjectPageBySearch(SubjectInfoBO subjectInfoBO);

    /**
     * 更新题目
     */
    Boolean update(SubjectInfoBO subjectInfoBO);

    /**
     * 获得用户的贡献榜,mysql版本
     */
    List<SubjectInfoBO> getContributeList1();

    /**
     * 获得用户的贡献榜,redis版本
     */
    List<SubjectInfoBO> getContributeList2();
}
